<?	
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  		
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Email_frm( $this );
	
	class Email_frm extends Frm
	{
	function Email_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncOrden'] 				= new Input( "Codigo", "ncOrden", '', false, true );
			$this->aFields['cEmail'] 					= new InputText ( "Email", "cEmail" );
			$this->aFields['ncOrganizacion'] 		= new InputLookUp(  "Organizacion", "ncOrganizacion");
			$this->aFields['ncPersona'] 	    	= new InputLookUp(  "Persona", "ncPersona" );
	}
	function setValue( $ncPersona, $ncOrden )
		{			
			$cSql = "SELECT cEmail, ncOrganizacion, ncPersona
								FROM atPersonaEmail
								WHERE ncPersona = $ncPersona
									AND ncOrden = $ncOrden";
			$aRow = $this->oDatabase->getArray($cSql);
			$this->setFieldsArray ( $aRow );
			return $aRow;
		}
	function initializeForm()
		{
			// Configura el Titulo
			if ( $this->aFields['ncPersona']->getValue()  )
				{
					$cSql = "SELECT cApellido, cNombre FROM atPersona WHERE ncPersona = " . $this->aFields['ncPersona']->getValue();
					list ( $cApellido, $cNombre )= $this->oDatabase->getArray( $cSql );
					$this->setLabel( "Email Personal de " . $cApellido . ', ' .  $cNombre );
				}
			if ( $this->aFields['ncOrganizacion']->getValue()  )
				{
					$cSql = "SELECT cdOrganizacion FROM atOrganizacion WHERE ncOrganizacion = " . $this->aFields['ncOrganizacion']->getValue();
					$cdOrganizacion = $this->oDatabase->getData( $cSql );
					$this->setLabel( "Email Instituciona de " . $cdOrganizacion );
				}
			if ( $this->aFields['ncPersona']->getValue() && $this->aFields['ncOrganizacion']->getValue()   )
				{
					$this->setLabel( "Email Laboral de " . $cApellido . ', ' .  $cNombre . " en $cdOrganizacion" );
				} 
			// Si Recibe la Pk => busca los datos
			if ( $this->isRetrievable() && $this->aFields['ncPersona']->getValue() && $this->aFields['ncOrden']->getValue() )
				{
					$this->setValue( $this->aFields['ncPersona']->getValue(), $this->aFields['ncOrden']->getValue() );
				}
			return true;
		}		
	function initializeField( $cField , &$oField )
		{			
			switch ( $cField )
			{
				case 'cEmail':
					$oField->setMandatory( $this->isMandatory() );
					$oField->setLength( 120);
				break;
			}
		}
	}
?>